微信公众号
扫描关注微信公众号

Python 操作 SQLite 数据库教程:从基础到实战

原创 来源:博客站 阅读 0 今天 19:01:20 听全文 分类:Mysql

SQLite 是一个轻量级的数据库,非常适合嵌入式和小型项目。Python 内置了 SQLite 支持,无需额外安装,直接开箱即用。今天我们就来聊聊如何在 Python 中高效使用 SQLite,从基础操作到进阶技巧,一步步带你掌握!

1. 连接 SQLite 数据库

在 Python 中操作 SQLite 非常简单,首先需要导入 sqlite3 模块,然后建立数据库连接:

import sqlite3  

# 连接到数据库(如果不存在则自动创建)  
conn = sqlite3.connect('example.db')  
print("数据库连接成功!")  

使用 connect() 方法可以创建或连接一个 SQLite 数据库文件,如果文件不存在,Python 会自动创建它。

2. 创建数据表

有了数据库连接后,我们可以用 cursor() 方法创建游标对象,然后执行 SQL 语句来建表:

cursor = conn.cursor()  

# 创建表  
cursor.execute('''  
    CREATE TABLE IF NOT EXISTS users (  
        id INTEGER PRIMARY KEY,  
        name TEXT NOT NULL,  
        age INTEGER  
    )  
''')  

print("数据表创建成功!")  

这里我们创建了一个 users 表,包含 id(主键)、name(姓名)和 age(年龄)三个字段。

3. 插入数据

接下来,我们往表里插入一些数据:

# 插入单条数据  
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('张三', 25))  

# 插入多条数据  
users_data = [('李四', 30), ('王五', 22), ('赵六', 28)]  
cursor.executemany("INSERT INTO users (name, age) VALUES (?, ?)", users_data)  

# 提交事务  
conn.commit()  
print("数据插入成功!")  

使用 execute() 插入单条数据,executemany() 插入多条数据,最后别忘了 commit() 提交事务,否则数据不会真正保存。

4. 查询数据

查询数据是最常见的操作,我们可以用 SELECT 语句获取数据:

# 查询所有数据  
cursor.execute("SELECT * FROM users")  
all_users = cursor.fetchall()  
print("所有用户:", all_users)  

# 条件查询  
cursor.execute("SELECT * FROM users WHERE age > 25")  
older_users = cursor.fetchall()  
print("年龄大于25的用户:", older_users)  

fetchall() 获取所有结果,fetchone() 获取单条数据,fetchmany(n) 获取指定数量的数据。

5. 更新和删除数据

如果需要修改或删除数据,可以使用 UPDATEDELETE 语句:

# 更新数据  
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (26, '张三'))  

# 删除数据  
cursor.execute("DELETE FROM users WHERE name = ?", ('赵六',))  

conn.commit()  
print("数据更新和删除完成!")  

6. 事务管理

SQLite 支持事务,确保数据操作的完整性:

try:  
    cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('钱七', 35))  
    # 模拟错误  
    # some_error_condition = True  
    # if some_error_condition:  
    #     raise ValueError("模拟事务失败")  
    conn.commit()  
except Exception as e:  
    conn.rollback()  
    print("事务回滚:", e)  
else:  
    print("事务提交成功!")  

使用 try-except 结合 commit()rollback() 可以确保数据一致性。

7. 关闭连接

最后,别忘了关闭数据库连接,释放资源:

conn.close()  
print("数据库连接已关闭!")  

总结

通过这篇教程,我们学习了 Python 如何操作 SQLite 数据库,包括:

  • 连接数据库
  • 创建表
  • 插入、查询、更新、删除数据
  • 事务管理

SQLite 轻量高效,特别适合小型项目和本地数据存储。现在你已经掌握了基本操作,快去试试吧!

12321 Python 操作 SQLite 数据库教程:从基础到实战 Python
内容由AI生成仅供参考和学习交流,请勿使用于商业用途。
出处地址:http://www.dongblog.com/tech/1116.html,如若转载请注明原文及出处。
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。